#ifndef PID_H
#define PID_H

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

//PID内置参数
typedef struct
{
   	float kp, ki, kd; //三个系数
    float error, lastError; //误差、上次误差
    float integral, maxIntegral; //积分、积分限幅
    float output, maxOutput; //输出、输出限幅
}PID;

//初始化数据
void PID_Init(PID *pid, float p, float i, float d, float maxI, float maxOut);
//PID输出
void PID_Calc(PID *pid, float set, float now);
//线性映射
float linear_map(float x, float A, float B, float C, float D);
#endif